import axios from 'axios'

export function request (config) {
  // 1. 创建 axios 实例对象
  const instance = axios.create({
    baseURL: '/',
    timeout: 5000
  })
  // 2. 进行请求和响应拦截配置
  //   2.1 请求拦截
  instance.interceptors.request.use(config => {
    console.log(config)
    // 请求拦截的目的是对 config 进行一些处理
    // 处理完之后需要将 config 返回才能继续发送请求，即请求放行，交到服务端
    // 不返回 config 相当于拦截后不让其继续请求，即请求失败
    return config
  }, err => {
    console.log(err)
  })
  //   2.2 响应拦截，道理与请求拦截类似
  instance.interceptors.response.use(resp => {
    console.log(resp)
    return resp.data
  }, err => {
    console.log(err)
  })
  // 3. 返回 axios 实例进行响应
  return instance(config)
}
